package com.probox.common.entity.domain.platfom;

import java.util.Date;
import java.io.Serializable;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import com.baomidou.mybatisplus.annotation.*;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.probox.common.core.annotation.Excel;
import org.checkerframework.checker.units.qual.A;

/**
 * 平台_店铺通用设置对象 platform_generalsettings
 *
 * @author usoft
 * @date 2021-07-08
 */
@Data
@Accessors(chain = true)
@TableName("platform_generalsettings")
@ApiModel(description = "平台_店铺通用设置")
public class PlatformGeneralsettings implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * $column.columnComment
     */
    //默认主键自增
    @TableId(value = "GENERALSETTINGS_UID", type = IdType.AUTO)
    private Long generalsettingsUid;

    /**
     * $column.columnComment
     */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    @ApiModelProperty(value = "${comment}")
    private Long platformUid;

    /**
     * 联系客服(1开启，0关闭)
     */
    @Excel(name = "联系客服(1开启，0关闭)")
    @ApiModelProperty(value = "联系客服(1开启，0关闭)")
    private String isCustomerservice;

    /**
     * 商品详情页面(属于联系客服)1选中,0未选中
     */
    @Excel(name = "商品详情页面(属于联系客服)1选中,0未选中")
    @ApiModelProperty(value = "商品详情页面(属于联系客服)1选中,0未选中")
    private String customerserviceGoods;

    /**
     * 订单详情页面(属于联系客服)1选中,0未选中
     */
    @Excel(name = "订单详情页面(属于联系客服)1选中,0未选中")
    @ApiModelProperty(value = "订单详情页面(属于联系客服)1选中,0未选中")
    private String customerserviceOrder;

    /**
     * 默认名称(属于商品详情页面)格式:default0默认1自定义,label:自定义名称
     */
    @Excel(name = "默认名称(属于商品详情页面)格式:default0默认1自定义,label:自定义名称")
    @ApiModelProperty(value = "默认名称(属于商品详情页面)格式:default0默认1自定义,label:自定义名称")
    private String customerserviceGoodsConfig;

    /**
     * 默认名称(属于订单详情页面)格式:default0默认1自定义,label:自定义名称
     */
    @Excel(name = "默认名称(属于订单详情页面)格式:default0默认1自定义,label:自定义名称")
    @ApiModelProperty(value = "默认名称(属于订单详情页面)格式:default0默认1自定义,label:自定义名称")
    private String customerserviceOrderConfig;

    /**
     * 悬浮滚动栏(1展示,0隐藏)
     */
    @Excel(name = "悬浮滚动栏(1展示,0隐藏)")
    @ApiModelProperty(value = "悬浮滚动栏(1展示,0隐藏)")
    private String isSuspensionrolling;

    /**
     * 显示购买行为(属于悬浮滚动栏)1选中,0未选中
     */
    @Excel(name = "显示购买行为(属于悬浮滚动栏)1选中,0未选中")
    @ApiModelProperty(value = "显示购买行为(属于悬浮滚动栏)1选中,0未选中")
    private String suspensionrollingBuy;

    /**
     * 显示评论行为(属于悬浮滚动栏)1选中,0未选中
     */
    @Excel(name = "显示评论行为(属于悬浮滚动栏)1选中,0未选中")
    @ApiModelProperty(value = "显示评论行为(属于悬浮滚动栏)1选中,0未选中")
    private String suspensionrollingComment;

    /**
     * 显示收藏行为(属于悬浮滚动栏)1选中,0未选中
     */
    @Excel(name = "显示收藏行为(属于悬浮滚动栏)1选中,0未选中")
    @ApiModelProperty(value = "显示收藏行为(属于悬浮滚动栏)1选中,0未选中")
    private String suspensionrollingCollection;

    /**
     * 显示浏览行为(属于悬浮滚动栏)1选中,0未选中
     */
    @Excel(name = "显示浏览行为(属于悬浮滚动栏)1选中,0未选中")
    @ApiModelProperty(value = "显示浏览行为(属于悬浮滚动栏)1选中,0未选中")
    private String suspensionrollingView;

    /**
     * 会员设置(1开启，0关闭)
     */
    @Excel(name = "会员设置(1开启，0关闭)")
    @ApiModelProperty(value = "会员设置(1开启，0关闭)")
    private String isVip;

    /**
     * VIPid
     */
    @Excel(name = "VIPid")
    @ApiModelProperty(value = "VIPid")
    private Long vipUid;

    /**
     * 售罄商品(1展示,0隐藏)
     */
    @Excel(name = "售罄商品(1展示,0隐藏)")
    @ApiModelProperty(value = "售罄商品(1展示,0隐藏)")
    private String isSellout;

    /**
     * 售罄后显示的图标
     */
    @Excel(name = "售罄后显示的图标")
    @ApiModelProperty(value = "售罄后显示的图标")
    private String selloutImg;

    /**
     * 店铺营销标签(1展示,0隐藏)
     */
    @Excel(name = "店铺营销标签(1展示,0隐藏)")
    @ApiModelProperty(value = "店铺营销标签(1展示,0隐藏)")
    private String isMarketingtag;

    /**
     * 是否显示评论(1展示,0隐藏)
     */
    @Excel(name = "是否显示评论(1展示,0隐藏)")
    @ApiModelProperty(value = "是否显示评论(1展示,0隐藏)")
    private String isGoodsComment;

    /**
     * 商品服务评分几星才显示(show:1选中,0未选中,rate:几星)
     */
    @Excel(name = "商品服务评分几星才显示(show:1选中,0未选中,rate:几星)")
    @ApiModelProperty(value = "商品服务评分几星才显示(show:1选中,0未选中,rate:几星)")
    private String commentService;

    /**
     * 产品评分几星才显示(show:1选中,0未选中,rate:几星)
     */
    @Excel(name = "产品评分几星才显示(show:1选中,0未选中,rate:几星)")
    @ApiModelProperty(value = "产品评分几星才显示(show:1选中,0未选中,rate:几星)")
    private String commentProduct;

    /**
     * 物流几星才显示(show:1选中,0未选中,rate:几星)
     */
    @Excel(name = "物流几星才显示(show:1选中,0未选中,rate:几星)")
    @ApiModelProperty(value = "物流几星才显示(show:1选中,0未选中,rate:几星)")
    private String commentLogistics;

    /**
     * 是否显示猜你喜欢(1展示,0隐藏)
     */
    @Excel(name = "是否显示猜你喜欢(1展示,0隐藏)")
    @ApiModelProperty(value = "是否显示猜你喜欢(1展示,0隐藏)")
    private String isGoodsLike;

    /**
     * 商品详情页显示(1展示,0隐藏)
     */
    @Excel(name = "商品详情页显示(1展示,0隐藏)")
    @ApiModelProperty(value = "商品详情页显示(1展示,0隐藏)")
    private String goodsLikeGoods;

    /**
     * 购物车页面显示(1展示,0隐藏)
     */
    @Excel(name = "购物车页面显示(1展示,0隐藏)")
    @ApiModelProperty(value = "购物车页面显示(1展示,0隐藏)")
    private String goodsLikeCart;

    /**
     * 支付成功页显示(1展示,0隐藏)
     */
    @Excel(name = "支付成功页显示(1展示,0隐藏)")
    @ApiModelProperty(value = "支付成功页显示(1展示,0隐藏)")
    private String goodsLikeBuy;

    /**
     * 订单列表页面显示(1展示,0隐藏)
     */
    @Excel(name = "订单列表页面显示(1展示,0隐藏)")
    @ApiModelProperty(value = "订单列表页面显示(1展示,0隐藏)")
    private String goodsLikeOrderDetail;

    /**
     * 订单详情页面显示(1展示,0隐藏)
     */
    @Excel(name = "订单详情页面显示(1展示,0隐藏) ")
    @ApiModelProperty(value = "订单详情页面显示(1展示,0隐藏) ")
    private String goodsLikeOrderDetails;

    /**
     * 退款页面显示(1展示,0隐藏)
     */
    @Excel(name = "退款页面显示(1展示,0隐藏)")
    @ApiModelProperty(value = "退款页面显示(1展示,0隐藏)")
    private String goodsLikeRefund;

    /**
     * 商品详情页销量显示(1展示,0隐藏)
     */
    @Excel(name = "商品详情页销量显示(1展示,0隐藏)")
    @ApiModelProperty(value = "商品详情页销量显示(1展示,0隐藏)")
    private String isGoodsSaleNumber;

    /**
     * 销量达到多少显示(show:1选中,未选中,number:数量)
     */
    @Excel(name = "销量达到多少显示(show:1选中,未选中,number:数量)")
    @ApiModelProperty(value = "销量达到多少显示(show:1选中,未选中,number:数量)")
    private String goodsSaleNumber;

    /**
     * 商品属性显示(1展示，0隐藏)
     */
    @Excel(name = "商品属性显示(1展示，0隐藏)")
    @ApiModelProperty(value = "商品属性显示(1展示，0隐藏)")
    private String isProperty;

    /**
     * 是否开始活动卷标签(1展示，0隐藏)
     */
    @Excel(name = "是否开始活动卷标签(1展示，0隐藏)")
    @ApiModelProperty(value = "是否开始活动卷标签(1展示，0隐藏)")
    private String isCouponTags;

    /**
     * 商品海报样式(样式1,样式2,样式3)
     */
    @Excel(name = "商品海报样式(样式1,样式2,样式3)")
    @ApiModelProperty(value = "商品海报样式(样式1,样式2,样式3)")
    private String isGoodsPoster;

    /**
     * 小程序分享(样式1,样式2,样式3)
     */
    @Excel(name = "小程序分享(样式1,样式2,样式3)")
    @ApiModelProperty(value = "小程序分享(样式1,样式2,样式3)")
    private String isShare;

    /**
     * 待付款订单多少分钟没支付,自动取消(单位分钟)
     */
    @Excel(name = "待付款订单多少分钟没支付,自动取消(单位分钟)")
    @ApiModelProperty(value = "待付款订单多少分钟没支付,自动取消(单位分钟)")
    private String waitOrderPayment;

    /**
     * 付款后,在这个时间段可以自己取消订单(单位分钟)
     */
    @Excel(name = "付款后,在这个时间段可以自己取消订单(单位分钟)")
    @ApiModelProperty(value = "付款后,在这个时间段可以自己取消订单(单位分钟)")
    private String orderPayment;

    /**
     * 待付款订单催付弹窗(1展示,0隐藏)
     */
    @Excel(name = "待付款订单催付弹窗(1展示,0隐藏)")
    @ApiModelProperty(value = "待付款订单催付弹窗(1展示,0隐藏)")
    private String isOrderPayment;

    /**
     * 是否开发票(1开启,0关闭)
     */
    @Excel(name = "是否开发票(1开启,0关闭)")
    @ApiModelProperty(value = "是否开发票(1开启,0关闭)")
    private String isInvoice;

    @ApiModelProperty(value = "可开发票的时间(单位:天)")
    private String invoiceTime;

    @ApiModelProperty(value = "供应商帐期(单位:天)")
    private String supplierCheckOut;

    @ApiModelProperty(value = "1元的商品等于多少的积分")
    private String goodsIntegral;

    @ApiModelProperty(value = "已付款订单修改地址的时间（单位：分钟）")
    private String orderAddress;

    @ApiModelProperty(value = "收货后分润解冻的时间（单位：天）")
    private String orderMoney;

    @ApiModelProperty(hidden = true)
    private Long createUid;

    @ApiModelProperty(hidden = true)
    private String createName;


    @Excel(name = "是否开发表(1开启,0关闭)", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(hidden = true)
    private Date createTime;


    @ApiModelProperty(hidden = true)
    private Long updateUid;


    @ApiModelProperty(hidden = true)
    private String updateName;


    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(hidden = true)
    private Date updateTime;

    @ApiModelProperty(value = "是否显示首页直播挂件")
    private String liveBroadcastPendant;

    @ApiModelProperty(value = "是否显示商品页直播挂件")
    private String goodsLiveBroadcastPendant;

    @ApiModelProperty(value = "是否在首页显示购买悬浮窗行为")
    private String homeIsSuspensionrolling;

    @ApiModelProperty(value = "热门搜索标签")
    private String hotSearch;

    @ApiModelProperty(value = "是否在我的页面显示vip")
    private String isVipMy;

    public PlatformGeneralsettings() {
    }

    public PlatformGeneralsettings(Long platformUid, String show, String hide, String defaultMap, String rate, String number, String waitOrderPayment, String orderPayment, Long createUid, String createName, Date createTime) {
        this.platformUid = platformUid;
        this.isCustomerservice = show;
        this.customerserviceGoods = show;
        this.customerserviceOrder = show;
        this.customerserviceGoodsConfig = defaultMap;
        this.customerserviceOrderConfig = defaultMap;
        this.isSuspensionrolling = hide;
        this.suspensionrollingBuy = hide;
        this.suspensionrollingComment = hide;
        this.suspensionrollingCollection = hide;
        this.suspensionrollingView = hide;
        this.isVip = hide;
        this.vipUid = null;
        this.isSellout = show;
        this.selloutImg = "";
        this.isMarketingtag = show;
        this.isGoodsComment = show;
        this.commentService = rate;
        this.commentProduct = rate;
        this.commentLogistics = rate;
        this.isGoodsLike = hide;
        this.goodsLikeGoods = show;
        this.goodsLikeCart = show;
        this.goodsLikeBuy = show;
        this.goodsLikeOrderDetail = hide;
        this.goodsLikeOrderDetails = hide;
        this.goodsLikeRefund = hide;
        this.isGoodsSaleNumber = hide;
        this.goodsSaleNumber = number;
        this.isProperty = show;
        this.isCouponTags = hide;
        this.isGoodsPoster = "1";
        this.isShare = "1";
        this.waitOrderPayment = waitOrderPayment;
        this.orderPayment = orderPayment;
        this.isOrderPayment = hide;
        this.isInvoice = show;
        this.createUid = createUid;
        this.createName = createName;
        this.createTime = createTime;
        this.goodsIntegral = "10";
        this.orderAddress = "60";
        this.orderMoney = "1";
        this.invoiceTime = "30";
        this.supplierCheckOut = "7";
        this.liveBroadcastPendant = show;
        this.goodsLiveBroadcastPendant = show;
        this.homeIsSuspensionrolling = show;
        this.isVipMy = hide;
        this.isShortMessage = hide;
    }

    private String isShortMessage;

}
